﻿namespace FFF.Test.Application.AppServices.FW
{
    using System;
    using System.Collections.Generic;
    using System.Threading.Tasks;
    using FFF.Test.Application.AppServices;
    using FFF.Test.Application.PublicService.AppService.TreeGrid;
    using FFF.Test.Application.Repositories.FW;
    using FFF.Test.Entity.FW;
    using FFF.Test.Entity.FW.Dto;
    using FFF.Test.Entity.FW.View;

    /// <summary>
    /// 功能表(树)应用层服务接口
    /// </summary>
    public interface IFWFunctionAppService :
        IYdmAbpCurdAppService<FWFunctionEntity, Guid, FWFunctionCreateInputDto, FWFunctionUpdateInputDto, FWFunctionDto, ViewFWFunction, ViewFWFunction>
    {
        /// <summary>
        /// 1.002 获取菜单(于大明)
        /// </summary>
        /// <param name="inDto">获取菜单输入dto</param>
        /// <returns>获取菜单输出dto</returns>
        Task<GetFunctionMenuOutDto> GetFunctionMenu(GetFunctionMenuInDto inDto);

        /// <summary>
        ///  获取树形列表(框架生成)
        /// </summary>
        /// <param name="inDto">树形输入</param>
        /// <returns>获取树形列表输出dto</returns>
        Task<List<TreeGridOutDto>> GetTreeGird(TreeGridInDto inDto);

        /// <summary>
        ///  获取所有的父级的id 以,分割(框架生成)
        /// </summary>
        /// <param name="id">父级id</param>
        /// <returns>父级的id以,分割</returns>
        Task<string> GetFatherIds(Guid id);
    }
}
